#ifndef __Render_RenderOperation_h__
#define __Render_RenderOperation_h__

#include "GfxDriver/PrimitiveType.h"

namespace Orca {

	class IVertexInput;
	class IGfxDriver;

	//--------------------------------------------------------------------------
	class TRenderOperation {

	public:
		TRenderOperation(
			IVertexInput *vertInput, 
			TPrimitiveType primType,
			bool indexed,
			size_t start,
			size_t cnt);

		~TRenderOperation();

		void beginRender(IGfxDriver *gfxDriver);

		void render(IGfxDriver *gfxDriver);

		void endRender(IGfxDriver *gfxDriver);

	private:
		IVertexInput *mVertexInput;
		TPrimitiveType mPrimType;
		bool mIndexed;
		size_t mStart;
		size_t mCnt;
		
	};
}

#endif	// __Render_RenderOperation_h__